An overlay network may be a computer network which may be built on top of an underlying network such as the Internet. Overlay networks on top of the Internet have been built or proposed in order to permit routing of messages to destinations not specified by an IP address, or to connect between separate networks.